/*
* Copyright 2010 Competentum group
*
* Licensed under the GNU General Public License, Version 3.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*      http://www.gnu.org/licenses/gpl.html
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.competentum.lib.events
{
	import flash.events.Event;
	
	public class CommandEvent extends Event
	{
		public static const ACTIVATE_ENGINE:String = "activateEngine";
		
		public var commandType:String = "Undefined";
		
		/**
		 * By setting this flag to <code>true</code>, you allow more than 1 engine in chain handle 
		 * this event. If it is false, the first engine do not call super after handling event and returns himself
		 */		
		public var allowSeveralEngineHandlers:Boolean = false;
		
		public function CommandEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false)
		{
			super(type, bubbles, cancelable);
		}
		
		override public function clone():Event
		{
			var e:CommandEvent = new CommandEvent(type, bubbles, cancelable);
			e.commandType = commandType;
			e.allowSeveralEngineHandlers = allowSeveralEngineHandlers;
			return e;
		}
	}
}